// pages/biz/couponsServ/couponsServ.js
import Serv from './couponsServ';
var regeneratorRuntime = require("../../../../../lib/js/runtime-module.js")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    couponsList:[],
    pageNo:1,
    pageSize:10,
    total:0,
    pageType:"myCoupon",//上一个页面的路由是首页还是个人中心
  },
  // 去优惠券详情
  goCouponDetail: function (e) {
    let id = e.currentTarget.dataset.id
    wx.navigateTo({ url:'/subPackages2/pages/my/myCoupons/couponsDetail/couponsDetail?id='+id})
  },
  // 跳转优惠券转赠页面
  goCouponExamples: function () {
    wx.navigateTo({ url:'/pages/biz/my/myCoupons/couponsExamples/couponsExamples'})
  },
  // 获取优惠券列表,pageType 上一个路由的类型，首页和个人中心所调用接口不一样  0 首页  1 个人中心
  async getCouponsList(params, type){
    console.log(type)
    // debugger
    let result = await Serv.getCouponsList(params, this.data.pageType);
    let list = this.data.pageType == 'index' ? result.data : result.rows;


    if (type == 0) {
      let { couponsList, pageNo, total } = this.data // 获取原本保存的数据
      pageNo = result.pageNo // 新的当前页
      total = result.total
      couponsList = [...couponsList, ...list]
      // let rows = list // 数据列表
      // let oldrows = couponsList // 原本的数据列表
      // let newList = oldrows.concat(rows) // 合并
      // couponsList = newList // 新列表合并后赋值
      this.setData({ couponsList, pageNo, total })
    } else {
     
      let { couponsList, pageNo, total} = this.data // 获取原本保存的数据
      pageNo = result.pageNo // 新的当前页
      total = result.total
      couponsList = [...couponsList,...list]
      // let rows = result.rows // 数据列表
      // let oldrows = couponsList.rows // 原本的数据列表
      // let newList = oldrows.concat(rows) // 合并
      // couponsList.rows = newList // 新列表合并后赋值
      this.setData({ couponsList, pageNo, total})
      // console.log(this.data.couponsList)
    }
  },
  // （领取）子组件回调
  async receiveCoupon(e){
    this.setData({couponsList:[]})
    let params = {
      pageNo: 1,
      pageSize: 10
    }
    let result = await Serv.receiveCoupon({ couponsConfigId: e.detail.id });
    if (result.success) {
      this.getCouponsList(params, 0);
      wx.showToast({ title: "领取成功"});
    }else{
      wx.showToast({ title: result.msg != 'null' ? result.msg : '领取失败', icon: "none" });
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    console.log(this.data.couponsList)
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let that = this;
    that.setData({couponsList:[]})
    let params = {
      // accountId:'123',
      pageNo: 1,
      pageSize: 10
    }

    let pages = getCurrentPages()
    var prevPage = pages[pages.length - 2].route;  //上一个页面
    console.log(prevPage,'prevPage')
    //如果是首页过来的
    if (prevPage == 'pages/biz/index/index' || prevPage == 'pages/biz/buildingDetail/buildingDetail') {
      this.setData({ pageType: 'index' });//首页
      wx.setNavigationBarTitle({title:"优惠券"});
    } else {
      this.setData({ pageType: 'myCoupon' });//个人中心
      wx.setNavigationBarTitle({ title: "我的优惠券" });
    }
    this.getCouponsList(params, 0);
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log('我被上拉了')
    let { couponsList, total,pageNo}=this.data
    // debugger
    // console.log(couponsList)
    // let total = parseInt(this.data.couponsList.total) // 总页数
    // let totalPage = 1 // 总页数
    // if (total%10 === 0) {
    //   totalPage = parseInt(total/10)
    // } else {
    //   totalPage = parseInt(total/10) + 1
    // }
    if (couponsList.length < total){
      // debugger
      pageNo == pageNo++
      let params = {
        pageNo,
        pageSize:10
      }
      this.getCouponsList(params, 1)
      this.setData({
        pageNo
      })
    }
    // let pageNo = parseInt(this.data.couponsList.pageNo) // 当前页数
    // if (pageNo < totalPage && (pageNo + 1) <= totalPage) { // 如果当前条数小于总条数
    //   let params = {
    //     pageNo: pageNo + 1,
    //     pageSize: 10
    //   }
    //   this.getCouponsList(params, 1)
    // }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})